{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "将'张三'替换为'林靖轩'后的结果: 林靖轩个人网页的网址为http://abc138qaz，喜欢语文、数学和科学\n",
      "['数学', '科学']\n",
      "张三个人网页的网址为http://abc***qaz，喜欢语文、数学和科学。\n",
      "匹配结果： ['http://abc']\n"
     ]
    }
   ],
   "source": [
    "#任务一：\n",
    "import re\n",
    "\n",
    "text = '张三个人网页的网址为http://abc138qaz，喜欢语文、数学和科学。'\n",
    "sentences = text.split('。')  \n",
    "for line in sentences:\n",
    "    if line:\n",
    "        if re.match('张三', line) is not None:\n",
    "            line = re.sub('张三', '林靖轩', line)\n",
    "            print(\"将'张三'替换为'林靖轩'后的结果:\", line)\n",
    "print(re.findall('数学|科学', text))\n",
    "print(re.sub('\\d', '*', text))\n",
    "matches = re.findall(r'h.*c', text)\n",
    "print(\"匹配结果：\", matches)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from the default dictionary ...\n",
      "Loading model from cache C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\jieba.cache\n",
      "Loading model cost 0.752 seconds.\n",
      "Prefix dict has been built successfully.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "对文本进行关键词提取: \n",
      " ['盐差', '潮汐能', '运输', '海流', '温差']\n"
     ]
    }
   ],
   "source": [
    "#任务二\n",
    "import re\n",
    "import jieba.analyse\n",
    "import jieba.posseg\n",
    "sample = open(r'data/sea.txt', encoding = 'utf-8').read()\n",
    "def get_keywords(text):\n",
    "    keywords = jieba.analyse.extract_tags(text, topK = 100,withWeight = False, allowPOS = ('n', 'vn', 'v'))\n",
    "    return keywords\n",
    "keywords = get_keywords(sample)\n",
    "print(\"对文本进行关键词提取: \\n\", keywords[:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import PIL\n",
    "import jieba\n",
    "from wordcloud import WordCloud\n",
    "import matplotlib.pyplot as plt\n",
    "import imageio\n",
    "f = open(r'data/sea.txt', encoding = 'utf-8')\n",
    "t = f.read()\n",
    "f.close()\n",
    "words = jieba.lcut(t)\n",
    "txt = ' '.join(words)\n",
    "image = imageio.imread(r'data/horse.png')\n",
    "w = WordCloud(font_path = r'data/FZFSJW.TTF', background_color = 'white', mask = image)\n",
    "w.generate(txt)\n",
    "w.to_file(r'data/test.png')\n",
    "plt.imshow(w, interpolation = 'bilinear')\n",
    "plt.axis(\"off\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "与'文化'相似度最高的10个词：\n",
      "[('地理', 0.6785155534744263), ('艺术', 0.6402852535247803), ('交流史', 0.6386878490447998), ('交流', 0.63672935962677), ('道德', 0.636613130569458), ('现代', 0.6321090459823608), ('民族', 0.629953920841217), ('民间', 0.6265432238578796), ('哲学', 0.6206640601158142), ('娱乐', 0.6167190074920654)]\n"
     ]
    }
   ],
   "source": [
    "import numpy\n",
    "import gensim\n",
    "import numpy as np\n",
    "from jieba import analyse\n",
    "from gensim.models import Word2Vec\n",
    "from gensim.models.word2vec import LineSentence\n",
    "def train_word2vec():    \n",
    "    cor_data=open('data/TrainData.txt','r',encoding='utf-8')\n",
    "    model=Word2Vec(LineSentence(cor_data),sg=0,vector_size=200,window=5,min_count=5,workers=9) \n",
    "    model.save('data/model_word2vec')  \n",
    "    print(\"与'文化'相似度最高的10个词：\")\n",
    "    print(model.wv.most_similar('文化',topn=10))\n",
    "train_word2vec()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def keyword(data):   \n",
    "    tfidf=analyse.extract_tags\n",
    "    keywords=tfidf(data)\n",
    "    return keywords\n",
    "def get_keywords(docpath,savepath):  \n",
    "    with open(docpath, 'r', encoding='utf-8') as docf,open(savepath, 'w') as outf:\n",
    "        for data in docf:   \n",
    "            data = data[:len(data)-1]   \n",
    "            keywords=keyword(data)     \n",
    "            for word in keywords:\n",
    "                outf.write(word + ' ')\n",
    "            outf.write('\\n')\n",
    "def get_pos(string,char):\n",
    "    space_pos=[]   \n",
    "    try:\n",
    "       \n",
    "        space_pos = list(((pos)for pos, val in enumerate(string) if (val == char)))\n",
    "    except:\n",
    "        pass\n",
    "    return space_pos\n",
    "\n",
    "def get_vector(file_name, model):\n",
    "    with open(file_name, 'r') as f:\n",
    "        wordvec_size = 200  \n",
    "        word_vector = numpy.zeros(wordvec_size)   \n",
    "        for data in f:\n",
    "            space_pos = get_pos(data,' ')   \n",
    "            first_word=data[0:space_pos[0]]  \n",
    "            if model.wv.__contains__(first_word):\n",
    "                word_vector=word_vector + model.wv[first_word]\n",
    "            for i in range(len(space_pos) - 1):\n",
    "                word = data[space_pos[i]: space_pos[i+1]]\n",
    "                if model.wv.__contains__(word):\n",
    "                    word_vector = word_vector + model.wv[word]\n",
    "    return word_vector"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算两个文本向量的相似度\n",
    "def similarity(vector1, vector2):\n",
    "    vector1_abs=np.sqrt(vector1.dot(vector1))\n",
    "    vector2_abs=np.sqrt(vector2.dot(vector2))\n",
    "    if vector2_abs != 0 and vector1_abs != 0:\n",
    "        similarity = (vector1.dot(vector2))/(vector1_abs * vector2_abs)   \n",
    "    else:\n",
    "        similarity = 0\n",
    "    return similarity\n",
    "def main():\n",
    "    #加载模型\n",
    "    model = gensim.models.Word2Vec.load('data/model_word2vec')\n",
    "    zuoye1 = 'data/zuoye1.txt'    \n",
    "    zuoye2 = 'data/zuoye2.txt'    \n",
    "    zuoye1_keywords='data/zuoye1_keywords.txt'\n",
    "    zuoye2_keywords='data/zuoye2_keywords.txt'\n",
    "    get_keywords(zuoye1, zuoye1_keywords)  \n",
    "    get_keywords(zuoye2, zuoye2_keywords)  \n",
    "    zuoye1_vector = get_vector(zuoye1_keywords, model)\n",
    "    print('文本new1的部分向量：\\n',zuoye1_vector[:20])\n",
    "    zuoye2_vector = get_vector(zuoye2_keywords, model)\n",
    "    print('文本new2的部分向量： \\n',zuoye2_vector[:20])\n",
    "    print('文本new1和文本new2的相似度：',similarity(zuoye1_vector,zuoye2_vector))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文本new1的部分向量：\n",
      " [ 0.45792469 -0.24290755 -2.70865294  0.55060278 -1.8270961   0.4635995\n",
      "  1.59291926  1.26742399 -0.18159682 -1.32803127 -1.47481796  1.81557325\n",
      "  2.74732092  0.24727414 -1.5123035   0.2170527  -1.2498762  -0.95859918\n",
      " -1.09592244 -1.53988251]\n",
      "文本new2的部分向量： \n",
      " [-0.58092062 -0.35001983 -1.31521512 -0.6317654  -0.08038363  0.39497329\n",
      "  0.92241034  2.35706079  0.25483981 -1.02637735  0.93119371  0.940328\n",
      "  1.08592102  2.35616052 -0.44816265  0.06925559 -1.15205413 -0.09370636\n",
      " -0.20298401 -1.27501869]\n",
      "文本new1和文本new2的相似度： 0.4876702096767666\n"
     ]
    }
   ],
   "source": [
    "if __name__ == \"__main__\":\n",
    "    main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
